package com.jz.netthings.analysis.service;

import com.jz.netthings.analysis.bean.link.LinkAnalysisProviderSupport;
import com.jz.netthings.exception.AdscmSystemException;
import com.jz.netthings.support.AdscmPage;

import java.util.List;
import java.util.Map;

/**
 * 血源发展分析统计所有Service
 */
public interface XyDevelopAnalysisService {

    /**
     * 查询某一年的采浆量统计表：某年根据月、轮次、天，统计采浆量
     * @param year 年份，如果为 0 或者Null，则默认当前年
     * @return
     * @throws AdscmSystemException
     */
    Map<String,Object> selectCollStatisticsByYear(Integer year) throws AdscmSystemException;

    /**
     * 查询浆量同期比，查询当前年、当前年的前一年、前两年、前两之前
     * @param year 年份，如果为 0 或者Null，则默认当前年
     * @return
     * @throws AdscmSystemException
     */
    Map<String,Object> getPulpWeight(Integer year) throws AdscmSystemException;
    /**
     * 查询返站浆员与返站浆员同期比，当年、去年、前年 三年的数据
     * @param year 年份，如果为 0 或者Null，则默认当前年
     * @return
     * @throws AdscmSystemException
     */
    Map<String,Object> getFrequencyCount(Integer year) throws AdscmSystemException;
    /**
     *  查询新浆员同期比，当年、去年、前年 三年的数据
     * @param year 年份，如果为 0 或者Null，则默认当前年
     * @return
     * @throws AdscmSystemException
     */
    Map<String,Object> getNewAndOutProviderCount(Integer year) throws AdscmSystemException;

    /**
     * 查看今年已献浆未链接浆员
     * @param current
     * @param size
     * @return
     * @throws AdscmSystemException
     */
    AdscmPage<LinkAnalysisProviderSupport> getThisYearComedNotLink(Integer current, Integer size) throws AdscmSystemException;
    /**
     * 查看已链接今年未献浆浆员
     * @param current
     * @param size
     * @return
     * @throws AdscmSystemException
     */
    AdscmPage<LinkAnalysisProviderSupport> getLinkedThisYearNotComed(Integer current, Integer size) throws AdscmSystemException;

    /**
     * 查看所有链接护士及护士链接浆员数量
     * @return
     * @throws AdscmSystemException
     */
    List<Map<String ,Object>> getLinkNursePCount() throws AdscmSystemException;
}
